package com.uex.dev.manage.admin.service;

import com.uex.dev.manage.admin.po.MaintainPO;
import com.uex.dev.manage.admin.po.ProblemPO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.uex.dev.manage.admin.vo.problem.ProblemMaintainInfo;
import com.uex.dev.manage.admin.vo.problem.ProblemInfoResp;
import com.uex.dev.manage.common.base.PageResult;

/**
 * <p>
 * 客户问题反馈表 服务类
 * </p>
 *
 * @author wangchao
 * @since 2024-02-26
 */
public interface IProblemService extends IService<ProblemPO> {

    /**
     * 查看问题列表
     * @param deviceId
     * @param page
     * @param record
     * @return
     */
    PageResult<ProblemInfoResp> selectList(Integer deviceId, Integer page, Integer record);

    /**
     * 查看问题详情
     * @param problemId
     * @return
     */
    ProblemInfoResp getDetail(Integer problemId);

    /**
     * 查看问题维修记录及详情
     * @param problemId
     * @param page
     * @param record
     * @return
     */
    PageResult<ProblemMaintainInfo> getMaintain(Integer problemId, Integer page, Integer record);

    /**
     * 添加或更新问题记录
     * @param problemDetailInfo
     */
    void updateProblem(ProblemPO problemDetailInfo);

    /**
     * 添加或更新维修记录
     * @param maintainUpdateReq
     */
    void updateMaintain(MaintainPO maintainUpdateReq);
}
